package cn.momoshenchi.medicine.pojo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.math.BigDecimal;

/**
 * 处方药品表
 * @TableName prescription_drug
 */
@TableName(value ="prescription_drug")
public class PrescriptionDrug implements Serializable {
    /**
     * 处方药品标识
     */
    @TableId
    private String prescriptionDrugId;


    /**
     * 处方id
     */
    private String prescriptionId;

    /**
     * 药品id
     */
    private Integer drugId;

    /**
     * 药品名称
     */
    private String drugName;

    /**
     * 药品规格
     */
    private String specification;

    /**
     * 一次剂量
     */
    private BigDecimal dose;

    /**
     * 剂量单位
     */
    private String doseUnit;

    /**
     * 用药频次代码
     */
    private Integer frequencyCode;

    /**
     * 用药频次
     */
    private String frequencyName;

    /**
     * 药品用法代码
     */
    private Integer usageCode;

    /**
     * 药品用法
     */
    private String usageName;

    /**
     * 用药天数
     */
    private Integer takeDays;

    /**
     * 药品数量
     */
    private BigDecimal quantity;

    /**
     * 单价
     */
    private BigDecimal price;

    /**
     * 包装单位
     */
    private String packUnit;

    /**
     * 组号
     */
    private Integer groupNumber;

    /**
     * 顺序号
     */
    private Integer sortNumber;

    /**
     * 嘱托
     */
    private String remark;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;

    /**
     * 处方药品标识
     */
    public String getPrescriptionDrugId() {
        return prescriptionDrugId;
    }

    /**
     * 处方药品标识
     */
    public void setPrescriptionDrugId(String prescriptionDrugId) {
        this.prescriptionDrugId = prescriptionDrugId;
    }



    /**
     * 处方id
     */
    public String getPrescriptionId() {
        return prescriptionId;
    }

    /**
     * 处方id
     */
    public void setPrescriptionId(String prescriptionId) {
        this.prescriptionId = prescriptionId;
    }

    /**
     * 药品id
     */
    public Integer getDrugId() {
        return drugId;
    }

    /**
     * 药品id
     */
    public void setDrugId(Integer drugId) {
        this.drugId = drugId;
    }

    /**
     * 药品名称
     */
    public String getDrugName() {
        return drugName;
    }

    /**
     * 药品名称
     */
    public void setDrugName(String drugName) {
        this.drugName = drugName;
    }

    /**
     * 药品规格
     */
    public String getSpecification() {
        return specification;
    }

    /**
     * 药品规格
     */
    public void setSpecification(String specification) {
        this.specification = specification;
    }

    /**
     * 一次剂量
     */
    public BigDecimal getDose() {
        return dose;
    }

    /**
     * 一次剂量
     */
    public void setDose(BigDecimal dose) {
        this.dose = dose;
    }

    /**
     * 剂量单位
     */
    public String getDoseUnit() {
        return doseUnit;
    }

    /**
     * 剂量单位
     */
    public void setDoseUnit(String doseUnit) {
        this.doseUnit = doseUnit;
    }

    /**
     * 用药频次代码
     */
    public Integer getFrequencyCode() {
        return frequencyCode;
    }

    /**
     * 用药频次代码
     */
    public void setFrequencyCode(Integer frequencyCode) {
        this.frequencyCode = frequencyCode;
    }

    /**
     * 用药频次
     */
    public String getFrequencyName() {
        return frequencyName;
    }

    /**
     * 用药频次
     */
    public void setFrequencyName(String frequencyName) {
        this.frequencyName = frequencyName;
    }

    /**
     * 药品用法代码
     */
    public Integer getUsageCode() {
        return usageCode;
    }

    /**
     * 药品用法代码
     */
    public void setUsageCode(Integer usageCode) {
        this.usageCode = usageCode;
    }

    /**
     * 药品用法
     */
    public String getUsageName() {
        return usageName;
    }

    /**
     * 药品用法
     */
    public void setUsageName(String usageName) {
        this.usageName = usageName;
    }

    /**
     * 用药天数
     */
    public Integer getTakeDays() {
        return takeDays;
    }

    /**
     * 用药天数
     */
    public void setTakeDays(Integer takeDays) {
        this.takeDays = takeDays;
    }

    /**
     * 药品数量
     */
    public BigDecimal getQuantity() {
        return quantity;
    }

    /**
     * 药品数量
     */
    public void setQuantity(BigDecimal quantity) {
        this.quantity = quantity;
    }

    /**
     * 单价
     */
    public BigDecimal getPrice() {
        return price;
    }

    /**
     * 单价
     */
    public void setPrice(BigDecimal price) {
        this.price = price;
    }

    /**
     * 包装单位
     */
    public String getPackUnit() {
        return packUnit;
    }

    /**
     * 包装单位
     */
    public void setPackUnit(String packUnit) {
        this.packUnit = packUnit;
    }

    /**
     * 组号
     */
    public Integer getGroupNumber() {
        return groupNumber;
    }

    /**
     * 组号
     */
    public void setGroupNumber(Integer groupNumber) {
        this.groupNumber = groupNumber;
    }

    /**
     * 顺序号
     */
    public Integer getSortNumber() {
        return sortNumber;
    }

    /**
     * 顺序号
     */
    public void setSortNumber(Integer sortNumber) {
        this.sortNumber = sortNumber;
    }

    /**
     * 嘱托
     */
    public String getRemark() {
        return remark;
    }

    /**
     * 嘱托
     */
    public void setRemark(String remark) {
        this.remark = remark;
    }

    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        PrescriptionDrug other = (PrescriptionDrug) that;
        return (this.getPrescriptionDrugId() == null ? other.getPrescriptionDrugId() == null : this.getPrescriptionDrugId().equals(other.getPrescriptionDrugId()))
            && (this.getPrescriptionId() == null ? other.getPrescriptionId() == null : this.getPrescriptionId().equals(other.getPrescriptionId()))
            && (this.getDrugId() == null ? other.getDrugId() == null : this.getDrugId().equals(other.getDrugId()))
            && (this.getDrugName() == null ? other.getDrugName() == null : this.getDrugName().equals(other.getDrugName()))
            && (this.getSpecification() == null ? other.getSpecification() == null : this.getSpecification().equals(other.getSpecification()))
            && (this.getDose() == null ? other.getDose() == null : this.getDose().equals(other.getDose()))
            && (this.getDoseUnit() == null ? other.getDoseUnit() == null : this.getDoseUnit().equals(other.getDoseUnit()))
            && (this.getFrequencyCode() == null ? other.getFrequencyCode() == null : this.getFrequencyCode().equals(other.getFrequencyCode()))
            && (this.getFrequencyName() == null ? other.getFrequencyName() == null : this.getFrequencyName().equals(other.getFrequencyName()))
            && (this.getUsageCode() == null ? other.getUsageCode() == null : this.getUsageCode().equals(other.getUsageCode()))
            && (this.getUsageName() == null ? other.getUsageName() == null : this.getUsageName().equals(other.getUsageName()))
            && (this.getTakeDays() == null ? other.getTakeDays() == null : this.getTakeDays().equals(other.getTakeDays()))
            && (this.getQuantity() == null ? other.getQuantity() == null : this.getQuantity().equals(other.getQuantity()))
            && (this.getPrice() == null ? other.getPrice() == null : this.getPrice().equals(other.getPrice()))
            && (this.getPackUnit() == null ? other.getPackUnit() == null : this.getPackUnit().equals(other.getPackUnit()))
            && (this.getGroupNumber() == null ? other.getGroupNumber() == null : this.getGroupNumber().equals(other.getGroupNumber()))
            && (this.getSortNumber() == null ? other.getSortNumber() == null : this.getSortNumber().equals(other.getSortNumber()))
            && (this.getRemark() == null ? other.getRemark() == null : this.getRemark().equals(other.getRemark()));
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getPrescriptionDrugId() == null) ? 0 : getPrescriptionDrugId().hashCode());
        result = prime * result + ((getPrescriptionId() == null) ? 0 : getPrescriptionId().hashCode());
        result = prime * result + ((getDrugId() == null) ? 0 : getDrugId().hashCode());
        result = prime * result + ((getDrugName() == null) ? 0 : getDrugName().hashCode());
        result = prime * result + ((getSpecification() == null) ? 0 : getSpecification().hashCode());
        result = prime * result + ((getDose() == null) ? 0 : getDose().hashCode());
        result = prime * result + ((getDoseUnit() == null) ? 0 : getDoseUnit().hashCode());
        result = prime * result + ((getFrequencyCode() == null) ? 0 : getFrequencyCode().hashCode());
        result = prime * result + ((getFrequencyName() == null) ? 0 : getFrequencyName().hashCode());
        result = prime * result + ((getUsageCode() == null) ? 0 : getUsageCode().hashCode());
        result = prime * result + ((getUsageName() == null) ? 0 : getUsageName().hashCode());
        result = prime * result + ((getTakeDays() == null) ? 0 : getTakeDays().hashCode());
        result = prime * result + ((getQuantity() == null) ? 0 : getQuantity().hashCode());
        result = prime * result + ((getPrice() == null) ? 0 : getPrice().hashCode());
        result = prime * result + ((getPackUnit() == null) ? 0 : getPackUnit().hashCode());
        result = prime * result + ((getGroupNumber() == null) ? 0 : getGroupNumber().hashCode());
        result = prime * result + ((getSortNumber() == null) ? 0 : getSortNumber().hashCode());
        result = prime * result + ((getRemark() == null) ? 0 : getRemark().hashCode());
        return result;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", prescriptionDrugId=").append(prescriptionDrugId);
        sb.append(", prescriptionId=").append(prescriptionId);
        sb.append(", drugId=").append(drugId);
        sb.append(", drugName=").append(drugName);
        sb.append(", specification=").append(specification);
        sb.append(", dose=").append(dose);
        sb.append(", doseUnit=").append(doseUnit);
        sb.append(", frequencyCode=").append(frequencyCode);
        sb.append(", frequencyName=").append(frequencyName);
        sb.append(", usageCode=").append(usageCode);
        sb.append(", usageName=").append(usageName);
        sb.append(", takeDays=").append(takeDays);
        sb.append(", quantity=").append(quantity);
        sb.append(", price=").append(price);
        sb.append(", packUnit=").append(packUnit);
        sb.append(", groupNumber=").append(groupNumber);
        sb.append(", sortNumber=").append(sortNumber);
        sb.append(", remark=").append(remark);
        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append("]");
        return sb.toString();
    }
}